package one;

public class A004 {

    /**
     * 4:移动零
     * @param args
     */
    public static void main(String[] args) {
        int[] a = {0,1,0,3,12};
        moveZeroes(a);
    }


    /**
     * 解法一：从左往右
     * @param nums
     */
    public static void moveZeroes(int[] nums) {
        //思路：定义一个指针cur，<=cur是非0元素，cur右边是0元素
        int cur=-1;//刚开始，没有确定任何的非0元素，所以-1
        for(int i=0;i<nums.length;i++) {
            if(nums[i] != 0) {
                cur++; //把非0元素丢到cur左边
                int t = nums[i];
                nums[i] = nums[cur];
                nums[cur] = t;
            }
        }
    }
}
